﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SushiSOAPServices.Dominio;
using NHibernate;

namespace SushiSOAPServices.Persistencia
{
    public class UsuarioDAO : BaseDAO<Usuario, int>
    {

        public Usuario obtenerUsuarioPorUsername(string Username) {

            using (ISession sesion = NHibernateHelper.ObtenerSesion())
            {
                string sentenciaSQL = "select u from Usuario as u where u.Username = :UsrName";
                IQuery query = sesion.CreateQuery(sentenciaSQL);
                query.SetParameter("UsrName", Username);
                IList<Usuario> lista = query.List<Usuario>();

                if (lista.Count == 0)
                {
                    Usuario usu = null;
                    return usu;
                }
                else
                {
                    return lista[0];
                }


            }

        }
        public Usuario ObtenerUsuarioPorUsernameAndContrasena(string ulogin, string password)
        {
            using (ISession sesion = NHibernateHelper.ObtenerSesion())
            {
                string sentenciaSQL = "select u from Usuario as u where u.Username = :uname and u.Contrasena = :password";
                IQuery query = sesion.CreateQuery(sentenciaSQL);
                query.SetParameter("uname", ulogin);
                query.SetParameter("password", password);
                IList<Usuario> lista = query.List<Usuario>();
               
                return (lista.Count > 0) ? lista[0] : null;

            }
        }

        
    }
}